package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.GmElecCostInfo;
import com.ruoyi.system.domain.GmTenantInfo;

import java.util.List;

/**
 * 国贸电费管理Service接口
 *
 * @author xty
 * @date 2021-12-09
 */
public interface IGmElecCostService {
    /**
     * 查询所有电费信息
     * @return
     */
    public List<GmElecCostInfo> selectAllGmElecCost();

    /**
     * 条件查询电费列表
     *
     * @param elecCostInfo 电费信息
     * @return 电费集合
     */
    public List<GmElecCostInfo> selectGmElecCostInfoList(GmElecCostInfo elecCostInfo);


    /**
     * 新增电费管理
     *
     * @param elecCostInfo 租户管理
     * @return 结果
     */
    public int insertGmElecCostInfo(GmElecCostInfo elecCostInfo);

    /**
     * 查询电费管理
     * 修改用户时根据elecCostId查询该用户信息再进行修改
     *
     * @param elecCostId 电费UU管理ID
     * @return 一条电费管理
     */
    public GmElecCostInfo selectGmElecCostInfoById(String elecCostId);

    /**
     * 修改租户管理
     *
     * @param elecCostInfo 电费管理
     * @return 结果
     */
    public int updateGmElecCostInfo(GmElecCostInfo elecCostInfo);

    /**
     * 批量删除租户管理
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteGmElecCostByIds(String ids);

    /**
     * 通过月份查询所有相关月份电费信息
     * @return
     */
    public List<GmElecCostInfo> selectGmElecCostByMonth(String elecMonth);

    /**
     * 通过月份查询所有相关月份电费信息
     * @return
     */
    public List<GmElecCostInfo> selectGmElecCostByCName(String companyName);

//    导入
    /**
     *校验Excel数据是否满足条件
     * @param lists
     * @return
     */
    public String validateDatas(List<GmElecCostInfo> lists);

    /**
     * 导入电费管理关系
     * @param lists
     * @param updateSupport
     * @param sysUser
     * @return
     */
    public String importRelations(List<GmElecCostInfo> lists, boolean updateSupport, SysUser sysUser);


    /**
     * 根据月份删除选中的月的信息
     *  项目导入前必须全量导出，保存操作
     */
    public int removeGmElecCostByMonth(String elecMonth);

}
